// window.onresize=function(){
//     setTimeout(redraw,300);
// };

//改变表格宽高
//自动调整
var isfull = true;
var treeList = null;
$(function () {
    //  新增页面
    addPage();
    //  右边菜单展开收起
    rightMenus();
    // hover显示差
    showX();
    // 获取树
    getTree();

    homeTop();

});
function homeTop() {
    var userDropDownTimeTask;
    $('div .user-info-of').hover(function () {
        $("#north").css({"z-index":"6","overflow":"initial"});
        clearTimeout(userDropDownTimeTask);
        $('.dzswj_user_dropDown').stop(true, false).fadeIn();
    }, function () {
        clearTimeout(userDropDownTimeTask);
        userDropDownTimeTask = setTimeout(function () {
            $('.dzswj_user_dropDown').stop(true, false).fadeOut();
        }, 600);
    });

    $('.dzswj_user_dropDown').hover(function () {
        clearTimeout(userDropDownTimeTask);
    }, function () {
        clearTimeout(userDropDownTimeTask);
        userDropDownTimeTask = setTimeout(function () {
            $('.dzswj_user_dropDown').stop(true, false).fadeOut();
        }, 600);
    });
}

function homeSearch() {
    var searchText = $("#searchInput").val();
    var href = "/portal/search.do?searchText="+searchText;
    addIframe("searchIframe",href,"搜索",false);
}
function getTree() {
    $.ajax({
        url: "/portal/gnTree.do",
        type: "get",
        timeout: sys_timeout,
        dataType: "json"
    }).always(function () {
    }).fail(function (XMLHttpRequest, textStatus) {
        innerToast.error(textStatus);
    }).done(function (responseText) {
        if (checkResponse(responseText)) {
            treeList = responseText.repData.treelist;
            $("#mainTree").tree({
                lines:true,
                data:treeList
            });
        } else {
            innerToast.warn(responseText.msg);
        }
    });
}
function collectBtn() {
    var collectid = $("#mainTree").tree('getSelected').id;
    var collecttext = $("#mainTree").tree('getSelected').text;
    openCollectModal(collectid,collecttext);
}

var iframeid;
var iframehref;
var iframeName;
var currentTabId = '';//当前焦点Tab
var isTop = false;

//  新增页面
function addPage() {
    $("#mainTree").tree({
        onClick: function (node) {
            if (!isNull(node.children)) {
                if (node.state == "closed") {
                    $(this).tree('expand', node.target);
                }
                else {
                    $(this).tree('collapse', node.target);
                }
            } else {
                iframeid = node.id;
                iframehref = node.href;
                iframeName = node.text;
                var dataPortal = node.sysCode;
                var isPortal = true;
                if(dataPortal != 'DATA_PORTAL'){
                    isPortal = true
                }else{
                    isPortal = false;
                }
                addIframe(iframeid, iframehref, iframeName,isPortal);

            }
        },
        onContextMenu: function(e, node){
            e.preventDefault();
            // select the node
            $('#mainTree').tree('select', node.target);
            // display context menu
            $('#mm').menu('show', {
                left: e.pageX,
                top: e.pageY
            });
        }

    });
}
function addIframe(iframeid, iframehref, iframeName,dataPortal) {
    //  记录值
    $.ajax({
        url: "/portal/user/statistics/saveGnDjs.do",
        data: {
            "gnid":iframeid
        },
        type: "post",
        timeout: sys_timeout,
        dataType: "json",
        async: false,
        error: function (XMLHttpRequest, textStatus) {
        },
        success: function (respText) {
        }
    });
    if (!isNull(iframehref)) {
        if (hasName(iframeName)) {
            if (isTop) {
                changeIframe(iframeid);
            } else {
                changeMoreTab(false, iframeid);
            }
        } else {
            if(dataPortal){
                iframehref = '/portal/forward/forward.do?funcId='+ iframeid +'&funcName='+encodeURI(iframeName)+'&isTab=true'+'&forwardUrl='+Base64.encode(Base64.encode(iframehref));
            }
            var iframe = '<iframe id="' + iframeid + '" frameborder="0" border="0" class="fs-tab-content-item add-iframe" src="' + iframehref + '"></iframe>';
            $(".fs-tab-content").append(iframe);
            $("#iframeId").val(iframe);
            addTop(true, iframeid, iframeName,dataPortal);
            refreshTabHistory(false, iframeid);
            if ($(".fs-tab-names > li").length > 8) {
                var rmiframeid = $(".fs-tab-names li").eq(7).attr("data-id");
                var rmiframeName = $(".fs-tab-names li").eq(7).find(".tab-title").text();
                var rmTabId = "tab-" + rmiframeid;
                $("#" + rmTabId).remove();
                addMore(rmiframeid, rmiframeName);
            }
        }
    }
}

//  判断是否包含text
function hasName(value) {
    for (var i = 0; i < $(".fs-tab-names").children("li").length; i++) {
        if (value == $(".fs-tab-names").children("li").eq(i).find(".tab-title").text()) {
            isTop = true;
            return true;
        }
    }
    for (var l = 0; l < $(".fs-tab-menu-items").children("a").length; l++) {
        if (value == $(".fs-tab-menu-items").children("a").eq(l).find(".tab-title").text()) {
            isTop = false;
            return true;
        }
    }
    return false;
}

//  切换iframe
function changeIframe(iframeid) {
    if( $(".fs-tab-content #" + iframeid).length===0){
        return;
    }
    $(".fs-tab-content").children("iframe").hide();
    $("#" + iframeid).fadeIn();
    $("#tab-" + iframeid).addClass("select").siblings("li").removeClass("select");
    if (iframeid != "home") {
        $(".sidebar-trans li").removeClass("active");
        $("#list" + iframeid).addClass("active");
        $("#tab-home").removeClass("select");
    } else {
        $(".fs-tab-names li").removeClass("select");
    }
    refreshTabHistory(false, iframeid)
}

//  更多tab点击
 function changeMoreTab(isDelete, showId) {
    if($(".fs-tab-menu-items #"+showId).length===0){
        return;
    }
    if (!isDelete) {
        var rmiframeid = $(".fs-tab-names li").eq(7).attr("data-id");
        var rmiframeName = $(".fs-tab-names li").eq(7).find(".tab-title").text();
        var rmTabId = "tab-" + rmiframeid;
        $("#" + rmTabId).remove();
        addMore(rmiframeid, rmiframeName);
    }
    var tab_id = "tab-" + showId;
    var showName = $("#" + tab_id).find(".tab-title").text();
    rmMoreTab(showId);
    addTop(true, showId, showName);
    changeIframe(showId);
    refreshTabHistory(false, showId);

    $(".fs-tab-menu-wrapper").slideUp(200);
}

//显示×
function showX() {
    $(document).on("mouseover", "#fs-frame-content ul.fs-tab-names li, .fs-tab-menu-items .fs-tab-menu-item", function () {
        $(this).find(".close-tab").show();
    });
    $(document).on("mouseout", "#fs-frame-content ul.fs-tab-names li, .fs-tab-menu-items .fs-tab-menu-item", function () {
        $(this).find(".close-tab").hide();
    });
    $(document).on("mouseover", "#fs-frame-content ul.fs-tab-names li.select", function () {
        var index = $("ul.fs-tab-names li").index(this);
        $(".cz-bar-div").css("left", $(".cz-bar-div").width() * index + 74);
        var gn_id = $(this).attr("data-id");
        for(var i=0;i<treeList.length;i++){
            if(!isNull(treeList[i].children)){
                for(var j=0;j<treeList[i].children.length;j++){
                    if(treeList[i].children[j].id == gn_id){
                        if(treeList[i].children[j].sysCode == "DATA_PORTAL"){
                            $(".cz-bar-div .star-btn").hide();
                            $(".cz-bar-div .refresh-btn").css("width","100%");
                        } else{
                            $(".cz-bar-div .star-btn").show();
                            $(".cz-bar-div .refresh-btn").css("width","50%");
                        }
                    }
                }
            }
        }
        $(".cz-bar-div").show();
    });
    $(document).on("mouseleave", ".cz-bar-div, #fs-frame-content ul.fs-tab-names li.select", function (e) {
        $(".cz-bar-div").hide();
    });
    $(document).on("mouseover", ".cz-bar-div", function () {
        $(".cz-bar-div").show();
    });
}

//  增加更多tab
function addMore(id, name) {
    var rmTabId = "tab-" + id;
    var moreTab = '<a href="javascript:;" onclick=changeMoreTab(false,"' + id + '") id="' + rmTabId + '" data-id="' + id + '" class="fs-tab-menu-item nav-btn">\n' +
        '<span class="tab-title" title="' + name + '">' + name + '</span>\n' +
        '<div class="close-tab" onclick=rmMoreTab("' + id + '")>\n' +
        '<i class="fa fa-times icon-tab-close"></i>\n' +
        '</div>\n' +
        '</a>';
    $(".fs-tab-menu-items").append(moreTab);
}

//  更多tab删除
function rmMoreTab(id) {
    preventBubble();
    var rmTabId = "tab-" + id;
    $("#" + rmTabId).remove();
}

//  增加上方tab
function addTop(isSelect, id, name,dataPortal) {
    var tab_id = "tab-" + id;
    var tab = '<li class="fs-tab-item nav-btn fui-bsb" id="' + tab_id + '" data-portal="'+dataPortal+'" data-id="' + id + '" onclick=changeIframe("' + id + '")>\n' +
        '<div class="fs-tab-item-label">\n' +
        '<span class="tab-title" title="' + name + '">' + name + '</span>\n' +
        '<div class="close-tab" onclick=deleteTab("' + id + '")>\n' +
        '<i class="fa fa-times icon-tab-close"></i>\n' +
        '</div>\n' +
        '</div>\n' +
        '</li>';
    $(".fs-tab-names").append(tab);
    if (isSelect) {
        $(".fs-tab-names > li").removeClass("select");
        $("#" + tab_id).click();
    }
}
// 删除上方tab
function deleteTab(id) {
    preventBubble();
    $(".fs-tab-menu-wrapper").slideUp(200);
    $(".cz-bar-div").hide();
    var tabJQ = $("#tab-" + id),
        tabContentJQ = $("#" + id);
    if (!tabJQ.hasClass("select")) {
        tabJQ.remove();
        tabContentJQ.remove();
        refreshTabHistory(true, id);
        if ($(".fs-tab-menu-items a").length > 0) {
            var newId = $(".fs-tab-menu-items a").eq(0).attr("data-id");
            var newName = $(".fs-tab-menu-items a").eq(0).find(".tab-title").text();
            rmMoreTab(newId);
            addTop(false, newId, newName);
        }
    } else {
        tabJQ.remove();
        tabContentJQ.remove();
        if ($(".fs-tab-names > li").length != 0) {
            refreshTabHistory(true, id);
            if(currentTabId=="home"){
                clickHome();
            }else{
                if($(".fs-tab-menu-items > a").length != 0){
                    changeMoreTab(true, currentTabId);
                }else{
                    changeIframe(currentTabId);
                }
            }
        } else {
            clickHome();
        }
    }
}
function outDeleteTab() {
    var id = $(".fs-tab-names li.select").attr("data-id");
    $(".fs-tab-menu-wrapper").slideUp(200);
    $(".cz-bar-div").hide();
    var tabJQ = $("#tab-" + id),
        tabContentJQ = $("#" + id);
    tabJQ.remove();
    tabContentJQ.remove();
    if ($(".fs-tab-names > li").length != 0) {
        refreshTabHistory(true, id);
        if(currentTabId=="home"){
            clickHome();
        }else{
            changeMoreTab(true, currentTabId);
        }
    } else {
        clickHome();
    }
}
//  展示首页
function clickHome(){
    $("#tab-home").click();
}

//右边菜单展开收起
function rightMenus() {
    $(".fs-tab-more").click(function () {
        preventBubble();
        $(".fs-tab-menu-wrapper").slideToggle(200);
    });
    $("body").not(".fs-tab-more").click(function () {
        $(".fs-tab-menu-wrapper").slideUp(200);
    });
}

//  记录值
function refreshTabHistory(isdelete, curTabId) {
    if (!refreshTabHistory.histoty) {
        //用来记录用户点击tab的历史
        refreshTabHistory.histoty = [];
    }
    var index = 0,
        leng = refreshTabHistory.histoty.length;
    //查找传入的tab页签在历史记录中的位置
    for (; index < leng; index++) {
        if (refreshTabHistory.histoty[index] == curTabId) {
            break;
        }
    }
    //如果是删除页签，直接在历史记录中删除即可，历史记录的其他页签的顺序不变
    if (isdelete) {
        refreshTabHistory.histoty.splice(index, 1);
        //如果是新增页签，先保证历史记录中没有改页签（有就删掉），然后将新增的页签放在历史记录的最后面（即该页签为最新）
    } else {
        if (index < leng) {
            refreshTabHistory.histoty.splice(index, 1);
        }
        refreshTabHistory.histoty.push(curTabId);
    }
    currentTabId = refreshTabHistory.histoty[refreshTabHistory.histoty.length - 1];
}

function closeLeft(obj) {
    $("#west").width(0).find("#mainTree").hide();
    $("#center").animate({marginLeft:"0"});
    $("#closeLeft").hide();
    $("#openLeft").show();
}

function openLeft(obj) {
    $("#west").animate({width:"256px"}).find("#mainTree").show();
    $("#center").animate({marginLeft:"256px"});
    $("#closeLeft").show();
    $("#openLeft").hide();
    // contentSize();
}


function collect() {
    var gn_id = $("#fs-frame-content ul.fs-tab-names li.select").attr("data-id");
    var gn_mc = $("#fs-frame-content ul.fs-tab-names li.select").find(".tab-title").text();
    openCollectModal(gn_id,gn_mc)
}

function openCollectModal(gn_id,gn_mc){
    $("#modal-iframe").attr("src", "/portal/user/favorite/toAddGn.do?gn_id=" + gn_id + "&gn_mc=" + gn_mc);
    $("#collectModal").modal('show');
}


function refrash() {
    var gn_id = $("#fs-frame-content ul.fs-tab-names li.select").attr("data-id");
    document.getElementById(gn_id).contentWindow.location.reload(true);
}

function openUsrCenter() {
    addIframe("userCenter", "/portal/user/settings.do", "用户中心",false);
}

// 全屏

function fullScreen(obj){
    if(isfull){
        isfull = false;
        closeLeft();
        $("#north").slideUp();
        $("#center").height($("body").height());
        $(".fs-tab-menu-wrapper").slideUp(200);
        $(obj).find("span").text("退出全屏");
    }else{
        isfull = true;
        openLeft();
        $("#north").slideDown();
        $("#center").height($("body").height() - 68);
        $(".fs-tab-menu-wrapper").slideUp(200);
        $(obj).find("span").text("全屏");
    }
}
// 关闭全部
function closeAllTab() {
    $(".fs-tab-menu-wrapper").slideUp(200);
    $(".fs-tab-names li").remove();
    $(".fs-tab-menu-items a").remove();
    $(".fs-tab-content").children(".add-iframe").remove();
    clickHome();
}
// 关闭其他标签
function closeOtherTab() {
    $(".fs-tab-menu-wrapper").slideUp(200);
    $(".fs-tab-names li:not(.select)").remove();
    var showId = $(".fs-tab-names li.select").attr("data-id");
    $(".fs-tab-menu-items a").remove();
    $(".fs-tab-content").children(".add-iframe:not(#"+showId+")").remove();
}


function preventBubble(event){
    var e = arguments.callee.caller.arguments[0]||event; //若省略此句，下面的e改为event，IE运行可以，但是其他浏览器就不兼容
    if (e && e.stopPropagation) {
        e.stopPropagation();
    } else if (window.event) {
        window.event.cancelBubble = true;
    }
}

